home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-02-10 | 4.1 KB | 143 lines | [TEXT/MMCC] |
- // ===========================================================================
- // LView.h ©1993 Metrowerks Inc. All rights reserved.
- // ===========================================================================
-
- #pragma once
-
- #include "LPane.h"
- #include "LList.h"
-
- typedef struct SViewInfo {
- SDimension32 imageSize;
- SPoint32 scrollPos;
- SPoint32 scrollUnit;
- Int32 reconcileOverhang;
- } SViewInfo;
-
-
- class LView : public LPane {
- public:
- LView();
- LView(const LView &inOriginal);
- LView(LStream *inStream);
- virtual ~LView();
-
- virtual void FinishCreate();
- void GetImageSize(SDimension32 &outSize);
- void GetImageLocation(SPoint32 &outLocation);
- void GetScrollPosition(SPoint32 &outScrollPosition);
-
- void GetRevealedRect(Rect &outRect);
- void CalcRevealedRect();
-
- void CalcPortOrigin();
-
- virtual void ResizeFrameBy(Int16 inWidthDelta, Int16 inHeightDelta,
- Boolean inRefresh);
- virtual void MoveBy(Int32 inHorizDelta, Int32 inVertDelta,
- Boolean inRefresh);
-
- virtual void SavePlace(LStream *outPlace);
- virtual void RestorePlace(LStream *inPlace);
-
- virtual void AdaptToNewSurroundings();
- virtual void AdaptToSuperFrameSize(Int32 inSurrWidthDelta,
- Int32 inSurrHeightDelta,
- Boolean inRefresh);
-
- virtual void Show();
- virtual void Hide();
-
- virtual void Activate();
- virtual void Deactivate();
-
- virtual void Enable();
- virtual void Disable();
-
- virtual void EstablishPort();
- static void OutOfFocus(LView *inView);
- virtual Boolean FocusDraw();
- virtual void Draw(RgnHandle inSuperDrawRgnH);
- virtual RgnHandle GetLocalUpdateRgn();
- void SetReconcileOverhang(Boolean inSetting);
-
- virtual void CountPanels(Uint32 &outHorizPanels,
- Uint32 &outVertPanels);
- virtual void PrintPanel(const PanelSpec &inPanel,
- RgnHandle inSuperPrintRgnH);
- virtual void SuperPrintPanel(const PanelSpec &inSuperPanel,
- RgnHandle inSuperPrintRgnH);
-
- virtual Boolean ScrollToPanel(const PanelSpec &inPanel);
- void ScrollImageTo(Int32 inLeftLocation, Int32 inTopLocation,
- Boolean inRefresh);
- virtual void ScrollImageBy(Int32 inLeftDelta, Int32 inTopDelta,
- Boolean inRefresh);
- virtual void ScrollBits(Int32 inLeftDelta, Int32 inTopDelta);
- virtual Boolean AutoScrollImage(Point inLocalPt);
-
- void ResizeImageTo(Int32 inWidth, Int32 inHeight,
- Boolean inRefresh);
- virtual void ResizeImageBy(Int32 inWidthDelta, Int32 inHeightDelta,
- Boolean inRefresh);
-
- void SetScrollUnit(const SPoint32 &inScrollUnit);
- void GetScrollUnit(SPoint32 &outScrollUnit) const;
- virtual void SubImageChanged(LView *inSubView);
-
- virtual LPane* FindSubPaneHitBy(Int32 inHoriz, Int32 inVert);
- virtual void Click(SMouseDownEvent &inMouseDown);
- virtual void AdjustCursor(Point inPortPt,
- const EventRecord &inMacEvent);
-
- virtual LPane* FindPaneByID(PaneIDT inPaneID);
-
- virtual Int32 GetValueForPaneID(PaneIDT inPaneID) const;
- virtual void SetValueForPaneID(PaneIDT inPaneID, Int32 inValue);
-
- virtual StringPtr GetDescriptorForPaneID(PaneIDT inPaneID,
- Str255 outDescriptor) const;
- virtual void SetDescriptorForPaneID(PaneIDT inPaneID,
- ConstStr255Param inDescriptor);
-
- virtual void PortToLocalPoint(Point &ioPoint) const;
- virtual void LocalToPortPoint(Point &ioPoint) const;
-
- void ImageToLocalPoint(const SPoint32 &inImagePt,
- Point &outLocalPt);
- void LocalToImagePoint(const Point &inLocalPt,
- SPoint32 &outImagePt);
-
- void AddSubPane(LPane *inSub);
- void RemoveSubPane(LPane *inSub);
- void DeleteAllSubPanes();
- virtual void OrientSubPane(LPane *inSub);
- LList& GetSubPanes();
-
- virtual void SuperShow();
- virtual void SuperHide();
-
- virtual void SuperActivate();
- virtual void SuperDeactivate();
-
- virtual void SuperEnable();
- virtual void SuperDisable();
-
- protected:
- RgnHandle GetUpdateRgn();
- virtual void ReconcileFrameAndImage(Boolean inRefresh);
-
- private:
- static LView *sInFocusView;
-
- SDimension32 mImageSize;
- SPoint32 mImageLocation;
- SPoint32 mScrollUnit;
- Point mPortOrigin;
- LList mSubPanes;
- Rect mRevealedRect;
- RgnHandle mUpdateRgnH;
- Boolean mReconcileOverhang;
-
- void InitView();
- };